package battlecruiser.shooter.reader;

import battlecruiser.board.cell.coordinate.Coordinate;

import java.io.IOException;
import java.util.List;

/**
 * Reads a target coordinate of player's shot.
 * Also reads a coordinate, type and direction os ship to be placed.
 *
 * @author Yakiv Tymoshenko
 * @since 05.09.12
 */
public abstract class TargetReader {

    public abstract Coordinate readTarget() throws IOException;

    public abstract Coordinate selectRandomNeighbourOnTheSameLine(List<Coordinate> damagedDecks) throws IOException;

    public abstract Coordinate selectRandomNeighbour(Coordinate coordinate) throws IOException;
}
